#pragma once

#if WIICIS_PLATFORM == WIICIS_PLATFORM_WINDOWS
#define WIICIS_EXPORT_DECL __declspec(dllexport)
#define WIICIS_IMPORT_DECL __declspec(dllimport)
#else
#define WIICIS_EXPORT_DECL
#define WIICIS_IMPORT_DECL
#endif

#ifdef WIICIS_COMPILE_LIB
#define WIICIS_EXPORT WIICIS_EXPORT_DECL
#else
#define WIICIS_EXPORT WIICIS_IMPORT_DECL
#endif

namespace WiiCIS {
	typedef unsigned char byte;

	enum LedIndex {
		WMLED_NONE = 0,
		WMLED_1 = 0x10,
		WMLED_2 = 0x20,
		WMLED_3 = 0x40,
		WMLED_4 = 0x80,
	};

	enum Button
	{
		WMBTN_LEFT = 0x0001,
		WMBTN_RIGHT = 0x0002,
		WMBTN_DOWN	= 0x0004,
		WMBTN_UP = 0x0008,
		WMBTN_PLUS = 0x0010,
		WMBTN_TWO = 0x0100,
		WMBTN_ONE = 0x0200,
		WMBTN_B = 0x0400,
		WMBTN_A = 0x0800,
		WMBTN_MINUS = 0x1000,
		WMBTN_HOME = 0x8000
	};

	enum Feature {
		WMFT_ACCELEROMETER,
		WMFT_EXTENSION,
		WMFT_IR,
	};
}
